Client/Server distributed computing environments are well known in the art. A central server system, comprising one or more servers, running a plurality of applications, is provided. Multiple client machines may connect to the system in order to retrieve data from one or more of its servers. The clients are physically separate from the server, running their own operating system. Clients typically communicate with the server system via an asynchronous connection using a standard comms protocol such as TCP/IP.
It is common for such a system to include a mail server running database application software with email capability such as Lotus Notes, available from the IBM Corporation. The mail server is responsible for receiving the electronic mail addressed to all users registered with it.
Typically the database software comprises a mail database including multiple mailboxes. Each registered user owns one of these mailboxes and mail arriving at the server is automatically deposited in the appropriate box. Each client machine runs software (eg Lotus Notes) allowing a user to access mail, work with it, and to compose their own emails. Such software may also provide added functionality, for example a calendar, an address book etc.
Co-pending European patent application number 97300435.1 (IBM docket number UK9-96-015) is primarily concerned with voice mail and discloses a Java applet running on a client machine with an Internet connection to a mail server. The applet continually polls the server to see whether any mail has been received for that machine. Upon receipt of mail at the server, the client's applet detects this and notifies the user of the new message. The application also suggests that it might be possible for the server to initiate such mail notification. In any event, after such notification it is then the responsibility of the user to contact the server to access the new message.
It is also known that mobile phones are often capable of receiving SMS text messages. These are automatically transferred by a messaging server to the appropriate phone. This functionality, however, is provided as part of the network infrastructure and so is limited to phones supported by and within the geographical range of that infrastructure. It is generally suitable for short text messages only, otherwise the network protocol becomes too complex. The SMS may not be compatible with other mailboxes from different applications belonging to the user.
One problem with the simple client/server model described above is that if the server is particularly busy or the network congested then response times can become unacceptably poor. Users reliant on accessing the server's mail database in order to work with their mail can be frustrated by the amount of time they waste whilst waiting for operations to complete.
One solution supported by some email programs such as Lotus Notes is for each user to store a copy of their mail database on their local machine. A user manipulates their mail locally and only connects to the server in order to send and receive mail. Thus improved response times are observed. Any changes made to the server copy of the user's mailbox have to be reflected in their local mail database and vice versa. Updates have to be performed and any conflicts resolved. Thus when mail is received at the server, this change has to be replicated across to the corresponding user's local mail database (ie synchronisation performed). Likewise when a user sends mail or updates their calendar/address book, the changes have to be reflected at the server-end. The software enabling a user to synchronise (ie replicate) their local database with the server's mailbox is generally part of the functionality of the email application itself (as with Lotus Notes).
Lotus Notes permits automated replication to be scheduled to occur with the server at a predetermined frequency. If there is new mail, the user is informed by means of an alert message “you have new mail” which appears as a popup message. This message is received as a result of the client machine polling the server at a predetermined frequency. In this system, if a user is waiting for an important piece of mail it is necessary for them to continually connect to the server either for direct access or by repeated replication, or to set a high polling frequency.
Further problems exist where the local copy of the database is maintained on a mobile computing device. Such devices may include personal digital assistants (PDAs), palmtops, notepads, laptop computers and mobile phones with advanced computational facilities. Such devices have no fixed connection to the server, and so have to specifically dialup the server in order to synchronise their local copy with the corresponding mailbox held on the server and then disconnect.
Thus a user of one of these mobile computing devices who is expecting an important piece of mail may have to dial up numerous times within a short period of time in order to replicate with the server. Often there will be no new mail and thus such a replication will result in no change to the local copy of the mail. Repeated replication is distracting and invariably proves a waste of time and resources.